1These should all get escaped: 2 3Backslash: \\ 4 5Backtick: \` 6 7Asterisk: \* 8 9Underscore: \_ 10 11Left brace: \{ 12 13Right brace: \} 14 15Left bracket: \[ 16 17Right bracket: \] 18 19Left paren: \( 20 21Right paren: \) 22 23Greater-than: \> 24 25Hash: \# 26 27Period: \. 28 29Bang: \! 30 31Plus: \+ 32 33Minus: \- 34 35Tilde: \~ 36 37 38 39These should not, because they occur within a code block: 40 41 Backslash: \\ 42 43 Backtick: \` 44 45 Asterisk: \* 46 47 Underscore: \_ 48 49 Left brace: \{ 50 51 Right brace: \} 52 53 Left bracket: \[ 54 55 Right bracket: \] 56 57 Left paren: \( 58 59 Right paren: \) 60 61 Greater-than: \> 62 63 Hash: \# 64 65 Period: \. 66 67 Bang: \! 68 69 Plus: \+ 70 71 Minus: \- 72 73 Tilde: \~ 74 75 76Nor should these, which occur in code spans: 77 78Backslash: `\\` 79 80Backtick: `` \` `` 81 82Asterisk: `\*` 83 84Underscore: `\_` 85 86Left brace: `\{` 87 88Right brace: `\}` 89 90Left bracket: `\[` 91 92Right bracket: `\]` 93 94Left paren: `\(` 95 96Right paren: `\)` 97 98Greater-than: `\>` 99 100Hash: `\#` 101 102Period: `\.` 103 104Bang: `\!` 105 106Plus: `\+` 107 108Minus: `\-` 109 110Tilde: `\~` 111 112 113These should get escaped, even though they're matching pairs for 114other Markdown constructs: 115 116\*asterisks\* 117 118\_underscores\_ 119 120\`backticks\` 121 122This is a code span with a literal backslash-backtick sequence: `` \` `` 123 124This is a tag with unescaped backticks <span attr='`ticks`'>bar</span>. 125 126This is a tag with backslashes <span attr='\\backslashes\\'>bar</span>. 127